Skip to content

Node version update from 22 to 24#2347

Merged
GCHQDeveloper581 merged 13 commits intomasterfrom
bump-node-to-v24
Apr 28, 2026
Merged

Node version update from 22 to 24#2347
GCHQDeveloper581 merged 13 commits intomasterfrom
bump-node-to-v24

Conversation

@GCHQDeveloper581
Copy link
Copy Markdown
Contributor

Credit

This PR is almost entirely based on a rebased cherry-pick of commits from #2278 by @lzandman

A new branch/PR was required owing to problems encountered with Jimp and the Webpack 5 updates in the original (which are due to a bug in Jimp).

Description below (edited) from the original PR

Description
Update the Node version from 22 to 24 and also bring in some other related fixes.

  • Node.js upgraded to 24 across all configuration files (.nvmrc, Dockerfile, devcontainer, GitHub Actions workflows)
  • Added WASM fetch polyfill for Node.js 22+ compatibility in the test suite (tests/lib/wasmFetchPolyfill.mjs)
  • Updated dependencies via npm update, including core-js to 3.49.0
  • Fixed Dockerfile base image to use a valid Node 24 image

Existing Issue
#1960

AI disclosure
No AI used in this PR version. Use of AI in original #2278 not known/declared as it predates the question being asked. However all changes have been verified by the author of this PR.

Test Coverage
Mostly uses existing tests as functionality should not have changed. New test added for wasm fetch polyfill.

lzandman and others added 13 commits April 28, 2026 09:42
Remove stale --experimental-* flags and redundant node version reset step in releases workflow.
- upgraded chromedriver from ^130.0.4 to ^146.0.5
- upgraded cspell from ^8.19.4 to ^9.7.0
- upgraded globals from ^15.15.0 to ^17.4.0
- upgraded sitemap from ^8.0.3 to ^9.0.1
- upgraded otpauth from 9.3.6 to ^9.5.0
Avoids DEP[0040] warnings regarding use of the deprecated node internal punycode module
@GCHQDeveloper581 GCHQDeveloper581 requested a review from C85297 April 28, 2026 11:08
@GCHQDeveloper581 GCHQDeveloper581 linked an issue Apr 28, 2026 that may be closed by this pull request
const buffer = await readFile(urlStr);
return new Response(buffer, {
status: 200,
headers: { "Content-Type": "application/wasm" },
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to hardcode this content type? @GCHQDeveloper581

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might look at this one longer term...

Comment thread package.json
Copy link
Copy Markdown
Member

@C85297 C85297 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with optional suggestions

@GCHQDeveloper581 GCHQDeveloper581 merged commit 1fdd2ec into master Apr 28, 2026
5 checks passed
@GCHQDeveloper581 GCHQDeveloper581 deleted the bump-node-to-v24 branch April 28, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Node 24

3 participants